package com.zmn.plat.dubbo.interfaces.ficocategory;

import java.util.List;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;

import com.zmn.common.dto.VtDTO;
import com.zmn.common.dto2.ResponseDTO;
import com.zmn.plat.common.dto.ficocategory.FicoCategoryDRO;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

/**
 * 绩效分类远程服务
 *
 * @author heciqi
 * @version v1.0
 * @since 2019/1/25 20:55
 */
@Api(value = "绩效分类服务", tags = {"绩效分类"})
public interface FicoCategoryListRemoteService {

    /**
     * ID 查询
     *
     * @param categoryId
     *            分类ID
     * @return
     */
    @ApiOperation(value = "ID查询", response = ResponseDTO.class, notes = "ID查询", tags = {"绩效分类"})
    ResponseDTO<FicoCategoryDRO> getByCategoryId(@NotNull(message = "categoryId不能为空") @Positive(message = "categoryId必须为大于0的正整数") @ApiParam(value = "分类ID", required = true) Integer categoryId);

    /**
     * 查询所有
     *
     * @return
     */
    @ApiOperation(value = "查询所有", response = ResponseDTO.class, notes = "查询所有", tags = {"绩效分类"})
    ResponseDTO<List<FicoCategoryDRO>> listAll();

    /**
     * 取得全部绩效分类列表
     *
     * @return
     */
    @ApiOperation(value = "取得全部绩效分类列表", response = ResponseDTO.class, notes = "取得全部绩效分类列表", tags = {"绩效分类"})
    ResponseDTO<List<VtDTO>> listFicoCategoryVt();
}
